package com.eduplatform.dto;

import lombok.Data;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * 学生数据传输对象
 */
@Data
public class StudentDTO {

    /**
     * 学生ID
     */
    private Long id;

    /**
     * 用户名/学号
     */
    @NotBlank(message = "用户名不能为空")
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空")
    private String nickname;

    /**
     * 头像
     */
    private String avatar;

    /**
     * 邮箱
     */
    @Email(message = "邮箱格式不正确")
    private String email;

    /**
     * 手机号
     */
    private String phone;

    /**
     * 学校ID
     */
    @NotNull(message = "学校ID不能为空")
    private Long schoolId;

    /**
     * 学校名称
     */
    private String schoolName;

    /**
     * 班级ID
     */
    private Long classId;

    /**
     * 班级名称
     */
    private String className;

    /**
     * 教育阶段
     */
    @NotNull(message = "教育阶段不能为空")
    private Integer educationLevel;

    /**
     * 教育阶段名称
     */
    private String educationLevelName;

    /**
     * 状态：0-禁用，1-启用
     */
    private Integer status = 1;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 获取教育阶段名称
     */
    public String getEducationLevelName() {
        if (educationLevel == null) {
            return "";
        }
        switch (educationLevel) {
            case 1:
                return "小学";
            case 2:
                return "初中";
            case 3:
                return "高中";
            case 4:
                return "大学";
            default:
                return "未知";
        }
    }
}